package com.fl.nj.service;

import com.fl.nj.entity.Menu;
import java.util.List;

/**
 * 菜单Service接口
 */
public interface MenuService {
    /**
     * 获取所有菜单
     * 
     * @return 菜单列表
     */
    List<Menu> findAll();

    /**
     * 根据ID获取菜单
     * 
     * @param id 菜单ID
     * @return 菜单对象
     */
    Menu findById(Long id);

    /**
     * 根据父菜单ID获取子菜单
     * 
     * @param parentId 父菜单ID
     * @return 子菜单列表
     */
    List<Menu> findByParentId(Long parentId);

    /**
     * 添加菜单
     * 
     * @param menu 菜单对象
     * @return 影响的行数
     */
    int insert(Menu menu);

    /**
     * 更新菜单
     * 
     * @param menu 菜单对象
     * @return 影响的行数
     */
    int update(Menu menu);

    /**
     * 删除菜单
     * 
     * @param id 菜单ID
     * @return 影响的行数
     */
    int delete(Long id);

    /**
     * 获取菜单树结构
     * 
     * @return 菜单树列表
     */
    List<Menu> findMenuTree();
}